package xx.services.page.inter;

import javax.ws.rs.FormParam;
import javax.ws.rs.PathParam;

/**
 * page页面list列表管理服务接口
 * 
 * @Path (Constants.RESTFUL_ROOT_PATH + "/page/list")
 * @author chenxiang 2010-12-19
 */
public interface IListInterface
{
    /**
     * 获取一个list列表，包含列表参数param<br>
     * 
     * @GET
     * @Path ("/{list_id}")
     * @param listId-@PathParam("list_id")
     *            list列表ID
     * @return list列表实体，包含列表参数param
     * @author chenxiang
     */
    public String get(@PathParam("list_id")
    long listId);

    /**
     * 获取一个list列表html代码<br>
     * 
     * @GET
     * @Path ("/{list_id}/html")
     * @param listId-@PathParam("list_id")
     *            list列表ID
     * @return list列表Html代码，不是json数据
     * @author chenxiang
     */
    public String getHtml(@PathParam("list_id")
    long listId);

    /**
     * 修改一个list列表。<br>
     * 
     * @PUT
     * @Path ("/{list_id}")
     * @param listId-@PathParam("list_id")
     *            list列表ID
     * @param list-@FormParam("list")
     *            list列表demo的Json字符串，包含有列表参数JSON字符串
     * @return 新的list列表实体
     * @author chenxiang
     */
    public String update(@PathParam("list_id")
    long listId, @FormParam("list")
    String list, @FormParam("title")
    String title, @FormParam("container")
    String container, @FormParam("templet")
    String templet, @FormParam("clazz")
    String clazz, @FormParam("clazz_id")
    long clazzId, @FormParam("description")
    String description);

    /**
     * 获取list对应的参数。<br>
     * 
     * @GET
     * @Path ("/{list_id}/param")
     * @param listId-@PathParam("list_id")
     *            列表ID
     * @return 参数实体
     * @author chenxiang
     */
    public String getParam(@PathParam("list_id")
    long listId);
}
